package com.ruoyi.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.vo.XsStatisticsVo;
import com.ruoyi.system.domain.vo.order.XsOrderListVo;
import com.ruoyi.system.domain.vo.order.XsOrderVo;
import com.ruoyi.system.domain.xs.XsOrder;
import com.ruoyi.system.domain.dto.XsOrderDto;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface IXsOrderService extends IService<XsOrder> {

    /**
     * 订单列表
     * @param orderDto
     * @return
     */
    List<XsOrderListVo> selectOrderList(XsOrderDto orderDto);

    /**
     * 新增
     * @param orderDto
     * @return
     */
    boolean add(XsOrderDto orderDto);

    /**
     * 删除
     * @param ids
     */
    boolean deleteXsOrderByIds(Long[] ids);

    /**
     * 批量导入数据（多页）
     * @param file
     */
    void batchImportDataClues(MultipartFile file);

    XsOrderVo orderDetails(String id);

    /**
     * 获取最新统计
     * @return
     */
    XsStatisticsVo getOrderStatistics(XsOrderDto orderDto);

    boolean updateBdmUser(XsOrderDto orderDto);

    boolean editNew(XsOrderDto xsOrderDto);
    /**
     * 修改是否刷单
     * @param orderDto
     * @return
     */
    boolean editBrushing(XsOrderDto orderDto);


    void stateFlow();

    //批量导入
    AjaxResult batchImportClue(List<MultipartFile> file);

    //批量修改补单
    AjaxResult replenishment(List<MultipartFile> file);

    //批量修改结算
    AjaxResult expenseAccount(List<String> orderId);
}
